package com.easyaop.api;

import com.easyaop.api.event.listener.MethodListener;
import com.easyaop.api.pointcut.Pointcut;

import java.lang.reflect.Method;

public interface Events {

//    void removeEventListener(String expression, Class<? extends MethodListener> listener);

    boolean removeEventListener(Pointcut pointcut, Class<? extends MethodListener> listener);

    //    void removeEventListener(Method method, Class<? extends MethodListener> listener);


    void addEventListener(Pointcut pointcut, MethodListener listener);

    void addEventListener(String expression, MethodListener listener);

    void addEventListener(Method method, MethodListener listener);
}
